package com.healthy.medical.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.healthy.common.core.annotation.Excel;
import com.healthy.common.core.web.domain.BaseEntity;

/**
 * 医疗机构对象 bookings
 * 
 * @author 束伟
 * @date 2024-03-29
 */
public class Bookings extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 预约id */
    private Long id;

    /** 用户ID */
    @Excel(name = "用户ID")
    private Long userId;

    /** 预约时间段 */
    @Excel(name = "预约时间段")
    private Long slotId;

    /** 预约套餐 */
    @Excel(name = "预约套餐")
    private String packageName;

    /** 价格 */
    @Excel(name = "价格")
    private BigDecimal price;

    /** 状态 */
    @Excel(name = "状态")
    private String status;

    /** 预约时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "预约时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date bookedAt;

    /** 取消时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "取消时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date cancelledAt;

    /** 备注 */
    @Excel(name = "备注")
    private String note;

    /** 备用列1 */
    @Excel(name = "备用列1")
    private String spareColumn1;

    /** 备用列2 */
    @Excel(name = "备用列2")
    private String spareColumn2;

    /** 备用列3 */
    @Excel(name = "备用列3")
    private String spareColumn3;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setSlotId(Long slotId) 
    {
        this.slotId = slotId;
    }

    public Long getSlotId() 
    {
        return slotId;
    }
    public void setPackageName(String packageName) 
    {
        this.packageName = packageName;
    }

    public String getPackageName() 
    {
        return packageName;
    }
    public void setPrice(BigDecimal price) 
    {
        this.price = price;
    }

    public BigDecimal getPrice() 
    {
        return price;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }
    public void setBookedAt(Date bookedAt) 
    {
        this.bookedAt = bookedAt;
    }

    public Date getBookedAt() 
    {
        return bookedAt;
    }
    public void setCancelledAt(Date cancelledAt) 
    {
        this.cancelledAt = cancelledAt;
    }

    public Date getCancelledAt() 
    {
        return cancelledAt;
    }
    public void setNote(String note) 
    {
        this.note = note;
    }

    public String getNote() 
    {
        return note;
    }
    public void setSpareColumn1(String spareColumn1) 
    {
        this.spareColumn1 = spareColumn1;
    }

    public String getSpareColumn1() 
    {
        return spareColumn1;
    }
    public void setSpareColumn2(String spareColumn2) 
    {
        this.spareColumn2 = spareColumn2;
    }

    public String getSpareColumn2() 
    {
        return spareColumn2;
    }
    public void setSpareColumn3(String spareColumn3) 
    {
        this.spareColumn3 = spareColumn3;
    }

    public String getSpareColumn3() 
    {
        return spareColumn3;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("userId", getUserId())
            .append("slotId", getSlotId())
            .append("packageName", getPackageName())
            .append("price", getPrice())
            .append("status", getStatus())
            .append("bookedAt", getBookedAt())
            .append("cancelledAt", getCancelledAt())
            .append("note", getNote())
            .append("spareColumn1", getSpareColumn1())
            .append("spareColumn2", getSpareColumn2())
            .append("spareColumn3", getSpareColumn3())
            .toString();
    }
}
